package com.ruoyi.subject.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.ToString;

import java.io.Serializable;
import java.sql.Date;
import java.util.List;

/**
 * 公开情报专题信息表;
 * @author : http://www.chiner.pro
 * @date : 2025-2-5
 */
@Data
@ToString
@ApiModel(value = "公开情报专题信息表",description = "")
public class SubjectCatalog implements Serializable,Cloneable{

    /** 专题唯一编号 */
    @TableId
    @ApiModelProperty(value = "专题唯一编号",notes = "")
    private Long subjectId ;

    /** 专题名称 */
    @ApiModelProperty(value = "专题名称",notes = "")
    private String subjectName ;

    /** 专题名称 */
    @ApiModelProperty(value = "专题类型(1舰船 2飞机 3雷达 4导弹 5固定设施 6人物 7事件)",notes = "")
    private Integer subjectType ;

    /** 专题起始时间 */
    @ApiModelProperty(value = "专题起始时间",notes = "")
    private Date startTime ;

    /** 专题结束时间 */
    @ApiModelProperty(value = "专题结束时间",notes = "")
    private Date endTime ;

    /** 专题关键词 */
    @ApiModelProperty(value = "专题关键词",notes = "")
    private String subjectKeyword ;

    /** 专题任务来源 */
    @ApiModelProperty(value = "专题任务来源",notes = "")
    private String taskSource ;

    /** 专题生成状态 */
    @ApiModelProperty(value = "专题生成状态",notes = "")
    private Integer resultNum ;

    /** 创建人 */
    @ApiModelProperty(value = "创建人",notes = "")
    private String createName ;

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间",notes = "")
    private Date createTime ;

    /** 更新人 */
    @ApiModelProperty(value = "更新人",notes = "")
    private String updateName ;

    /** 更新时间 */
    @ApiModelProperty(value = "更新时间",notes = "")
    private Date updateTime ;

    /** 更新时间 */
    @TableField(exist = false)
    @ApiModelProperty(value = "关联目标id",notes = "")
    private List<SubjectTarget> targets ;

    /**
     * 不需要处理
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "时间",notes = "")
    private List<Date> time ;

    @TableField(exist = false)
    private int pageNum;

    @TableField(exist = false)
    private int pageSize;
}